overlapped = FALSE;
if (corner == GSK_CORNER_TOP_LEFT || corner == GSK_CORNER_BOTTOM_LEFT)
{
- x1 = floor (box->box.x - clip_radius);
- x2 = ceil (box->box.x + box->corner[corner].width + clip_radius);
+ x1 = floor (box->bounds.origin.x - clip_radius);
+ x2 = ceil (box->bounds.origin.x + box->corner[corner].width + clip_radius);
x = x1;
sx = 1;
max_other = MAX(box->corner[GSK_CORNER_TOP_RIGHT].width, box->corner[GSK_CORNER_BOTTOM_RIGHT].width);
- x3 = floor (box->box.x + box->box.width - max_other - clip_radius);
+ x3 = floor (box->bounds.origin.x + box->bounds.size.width - max_other - clip_radius);
if (x2 > x3)
overlapped = TRUE;
}
else
{
- x1 = floor (box->box.x + box->box.width - box->corner[corner].width - clip_radius);
- x2 = ceil (box->box.x + box->box.width + clip_radius);
+ x1 = floor (box->bounds.origin.x + box->bounds.size.width - box->corner[corner].width - clip_radius);
+ x2 = ceil (box->bounds.origin.x + box->bounds.size.width + clip_radius);
x = x2;
sx = -1;
max_other = MAX(box->corner[GSK_CORNER_TOP_LEFT].width, box->corner[GSK_CORNER_BOTTOM_LEFT].width);
- x3 = ceil (box->box.x + max_other + clip_radius);
+ x3 = ceil (box->bounds.origin.x + max_other + clip_radius);
if (x3 > x1)
overlapped = TRUE;
}
if (corner == GSK_CORNER_TOP_LEFT || corner == GSK_CORNER_TOP_RIGHT)
{
- y1 = floor (box->box.y - clip_radius);
- y2 = ceil (box->box.y + box->corner[corner].height + clip_radius);
+ y1 = floor (box->bounds.origin.y - clip_radius);
+ y2 = ceil (box->bounds.origin.y + box->corner[corner].height + clip_radius);
y = y1;
sy = 1;
max_other = MAX(box->corner[GSK_CORNER_BOTTOM_LEFT].height, box->corner[GSK_CORNER_BOTTOM_RIGHT].height);
- y3 = floor (box->box.y + box->box.height - max_other - clip_radius);
+ y3 = floor (box->bounds.origin.y + box->bounds.size.height - max_other - clip_radius);
if (y2 > y3)
overlapped = TRUE;
}
else
{
- y1 = floor (box->box.y + box->box.height - box->corner[corner].height - clip_radius);
- y2 = ceil (box->box.y + box->box.height + clip_radius);
+ y1 = floor (box->bounds.origin.y + box->bounds.size.height - box->corner[corner].height - clip_radius);
+ y2 = ceil (box->bounds.origin.y + box->bounds.size.height + clip_radius);
y = y2;
sy = -1;
max_other = MAX(box->corner[GSK_CORNER_TOP_LEFT].height, box->corner[GSK_CORNER_TOP_RIGHT].height);
- y3 = ceil (box->box.y + max_other + clip_radius);
+ y3 = ceil (box->bounds.origin.y + max_other + clip_radius);
if (y3 > y1)
overlapped = TRUE;
}
if (side == GTK_CSS_TOP || side == GTK_CSS_BOTTOM)
{
blur_flags |= GTK_BLUR_Y;
- x1 = floor (box->box.x - clip_radius);
- x2 = ceil (box->box.x + box->box.width + clip_radius);
+ x1 = floor (box->bounds.origin.x - clip_radius);
+ x2 = ceil (box->bounds.origin.x + box->bounds.size.width + clip_radius);
}
else if (side == GTK_CSS_LEFT)
{
- x1 = floor (box->box.x -clip_radius);
- x2 = ceil (box->box.x + clip_radius);
+ x1 = floor (box->bounds.origin.x -clip_radius);
+ x2 = ceil (box->bounds.origin.x + clip_radius);
}
else
{
- x1 = floor (box->box.x + box->box.width -clip_radius);
- x2 = ceil (box->box.x + box->box.width + clip_radius);
+ x1 = floor (box->bounds.origin.x + box->bounds.size.width -clip_radius);
+ x2 = ceil (box->bounds.origin.x + box->bounds.size.width + clip_radius);
}
if (side == GTK_CSS_LEFT || side == GTK_CSS_RIGHT)
{
blur_flags |= GTK_BLUR_X;
- y1 = floor (box->box.y - clip_radius);
- y2 = ceil (box->box.y + box->box.height + clip_radius);
+ y1 = floor (box->bounds.origin.y - clip_radius);
+ y2 = ceil (box->bounds.origin.y + box->bounds.size.height + clip_radius);
}
else if (side == GTK_CSS_TOP)
{
- y1 = floor (box->box.y -clip_radius);
- y2 = ceil (box->box.y + clip_radius);
+ y1 = floor (box->bounds.origin.y -clip_radius);
+ y2 = ceil (box->bounds.origin.y + clip_radius);
}
else
{
- y1 = floor (box->box.y + box->box.height -clip_radius);
- y2 = ceil (box->box.y + box->box.height + clip_radius);
+ y1 = floor (box->bounds.origin.y + box->bounds.size.height -clip_radius);
+ y2 = ceil (box->bounds.origin.y + box->bounds.size.height + clip_radius);
}
drawn_rect->x = x1;
* We could remove the part of "box" where the blur doesn't
* reach, but computing that is a bit tricky since the
* rounded corners are on the "inside" of it. */
- r.x = floor (clip_box.box.x);
- r.y = floor (clip_box.box.y);
- r.width = ceil (clip_box.box.x + clip_box.box.width) - r.x;
- r.height = ceil (clip_box.box.y + clip_box.box.height) - r.y;
+ r.x = floor (clip_box.bounds.origin.x);
+ r.y = floor (clip_box.bounds.origin.y);
+ r.width = ceil (clip_box.bounds.origin.x + clip_box.bounds.size.width) - r.x;
+ r.height = ceil (clip_box.bounds.origin.y + clip_box.bounds.size.height) - r.y;
remaining = cairo_region_create_rectangle (&r);
}
else
{
/* In the outset case we want to paint the entire box, plus as far
* as the radius reaches from it */
- r.x = floor (box.box.x - clip_radius);
- r.y = floor (box.box.y - clip_radius);
- r.width = ceil (box.box.x + box.box.width + clip_radius) - r.x;
- r.height = ceil (box.box.y + box.box.height + clip_radius) - r.y;
+ r.x = floor (box.bounds.origin.x - clip_radius);
+ r.y = floor (box.bounds.origin.y - clip_radius);
+ r.width = ceil (box.bounds.origin.x + box.bounds.size.width + clip_radius) - r.x;
+ r.height = ceil (box.bounds.origin.y + box.bounds.size.height + clip_radius) - r.y;
remaining = cairo_region_create_rectangle (&r);
}
cr = gtk_snapshot_append_cairo_node (snapshot,
&GRAPHENE_RECT_INIT (
- border_box->box.x - extents.left,
- border_box->box.y - extents.top,
- border_box->box.width + extents.left + extents.right,
- border_box->box.height + extents.top + extents.bottom),
+ border_box->bounds.origin.x - extents.left,
+ border_box->bounds.origin.y - extents.top,
+ border_box->bounds.size.width + extents.left + extents.right,
+ border_box->bounds.size.height + extents.top + extents.bottom),
"Outset Shadow");
_gtk_css_shadow_value_paint_box (shadow, cr, border_box);
cairo_destroy (cr);
cr = gtk_snapshot_append_cairo_node (snapshot,
&GRAPHENE_RECT_INIT (
- padding_box->box.x,
- padding_box->box.y,
- padding_box->box.width,
- padding_box->box.height),
+ padding_box->bounds.origin.x,
+ padding_box->bounds.origin.y,
+ padding_box->bounds.size.width,
+ padding_box->bounds.size.height),
"Inset Shadow");
_gtk_css_shadow_value_paint_box (shadow, cr, padding_box);
cairo_destroy (cr);
{
memset (box, 0, sizeof (GtkRoundedBox));
- box->box.x = x;
- box->box.y = y;
- box->box.width = width;
- box->box.height = height;
+ box->bounds.origin.x = x;
+ box->bounds.origin.y = y;
+ box->bounds.size.width = width;
+ box->bounds.size.height = height;
}
/* clamp border radius, following CSS specs */
corners = box->corner[GSK_CORNER_TOP_LEFT].width + box->corner[GSK_CORNER_TOP_RIGHT].width;
if (corners != 0)
- factor = MIN (factor, box->box.width / corners);
+ factor = MIN (factor, box->bounds.size.width / corners);
corners = box->corner[GSK_CORNER_TOP_RIGHT].height + box->corner[GSK_CORNER_BOTTOM_RIGHT].height;
if (corners != 0)
- factor = MIN (factor, box->box.height / corners);
+ factor = MIN (factor, box->bounds.size.height / corners);
corners = box->corner[GSK_CORNER_BOTTOM_RIGHT].width + box->corner[GSK_CORNER_BOTTOM_LEFT].width;
if (corners != 0)
- factor = MIN (factor, box->box.width / corners);
+ factor = MIN (factor, box->bounds.size.width / corners);
corners = box->corner[GSK_CORNER_TOP_LEFT].height + box->corner[GSK_CORNER_BOTTOM_LEFT].height;
if (corners != 0)
- factor = MIN (factor, box->box.height / corners);
+ factor = MIN (factor, box->bounds.size.height / corners);
box->corner[GSK_CORNER_TOP_LEFT].width *= factor;
box->corner[GSK_CORNER_TOP_LEFT].height *= factor;
if (corner[GSK_CORNER_TOP_LEFT] && (junction & GTK_JUNCTION_CORNER_TOPLEFT) == 0)
{
box->corner[GSK_CORNER_TOP_LEFT].width = _gtk_css_corner_value_get_x (corner[GSK_CORNER_TOP_LEFT],
- box->box.width);
+ box->bounds.size.width);
box->corner[GSK_CORNER_TOP_LEFT].height = _gtk_css_corner_value_get_y (corner[GSK_CORNER_TOP_LEFT],
- box->box.height);
+ box->bounds.size.height);
}
if (corner[GSK_CORNER_TOP_RIGHT] && (junction & GTK_JUNCTION_CORNER_TOPRIGHT) == 0)
{
box->corner[GSK_CORNER_TOP_RIGHT].width = _gtk_css_corner_value_get_x (corner[GSK_CORNER_TOP_RIGHT],
- box->box.width);
+ box->bounds.size.width);
box->corner[GSK_CORNER_TOP_RIGHT].height = _gtk_css_corner_value_get_y (corner[GSK_CORNER_TOP_RIGHT],
- box->box.height);
+ box->bounds.size.height);
}
if (corner[GSK_CORNER_BOTTOM_RIGHT] && (junction & GTK_JUNCTION_CORNER_BOTTOMRIGHT) == 0)
{
box->corner[GSK_CORNER_BOTTOM_RIGHT].width = _gtk_css_corner_value_get_x (corner[GSK_CORNER_BOTTOM_RIGHT],
- box->box.width);
+ box->bounds.size.width);
box->corner[GSK_CORNER_BOTTOM_RIGHT].height = _gtk_css_corner_value_get_y (corner[GSK_CORNER_BOTTOM_RIGHT],
- box->box.height);
+ box->bounds.size.height);
}
if (corner[GSK_CORNER_BOTTOM_LEFT] && (junction & GTK_JUNCTION_CORNER_BOTTOMLEFT) == 0)
{
box->corner[GSK_CORNER_BOTTOM_LEFT].width = _gtk_css_corner_value_get_x (corner[GSK_CORNER_BOTTOM_LEFT],
- box->box.width);
+ box->bounds.size.width);
box->corner[GSK_CORNER_BOTTOM_LEFT].height = _gtk_css_corner_value_get_y (corner[GSK_CORNER_BOTTOM_LEFT],
- box->box.height);
+ box->bounds.size.height);
}
gtk_rounded_box_clamp_border_radius (box);
double bottom,
double left)
{
- if (box->box.width + left + right < 0)
+ if (box->bounds.size.width + left + right < 0)
{
- box->box.x -= left * box->box.width / (left + right);
- box->box.width = 0;
+ box->bounds.origin.x -= left * box->bounds.size.width / (left + right);
+ box->bounds.size.width = 0;
}
else
{
- box->box.x -= left;
- box->box.width += left + right;
+ box->bounds.origin.x -= left;
+ box->bounds.size.width += left + right;
}
- if (box->box.height + bottom + top < 0)
+ if (box->bounds.size.height + bottom + top < 0)
{
- box->box.y -= top * box->box.height / (top + bottom);
- box->box.height = 0;
+ box->bounds.origin.y -= top * box->bounds.size.height / (top + bottom);
+ box->bounds.size.height = 0;
}
else
{
- box->box.y -= top;
- box->box.height += top + bottom;
+ box->bounds.origin.y -= top;
+ box->bounds.size.height += top + bottom;
}
gtk_css_border_radius_grow (&box->corner[GSK_CORNER_TOP_LEFT], left, top);
double dx,
double dy)
{
- box->box.x += dx;
- box->box.y += dy;
+ box->bounds.origin.x += dx;
+ box->bounds.origin.y += dy;
}
typedef struct {
cairo_new_sub_path (cr);
_cairo_ellipsis (cr,
- box->box.x + box->corner[GSK_CORNER_TOP_LEFT].width,
- box->box.y + box->corner[GSK_CORNER_TOP_LEFT].height,
+ box->bounds.origin.x + box->corner[GSK_CORNER_TOP_LEFT].width,
+ box->bounds.origin.y + box->corner[GSK_CORNER_TOP_LEFT].height,
box->corner[GSK_CORNER_TOP_LEFT].width,
box->corner[GSK_CORNER_TOP_LEFT].height,
G_PI, 3 * G_PI_2);
_cairo_ellipsis (cr,
- box->box.x + box->box.width - box->corner[GSK_CORNER_TOP_RIGHT].width,
- box->box.y + box->corner[GSK_CORNER_TOP_RIGHT].height,
+ box->bounds.origin.x + box->bounds.size.width - box->corner[GSK_CORNER_TOP_RIGHT].width,
+ box->bounds.origin.y + box->corner[GSK_CORNER_TOP_RIGHT].height,
box->corner[GSK_CORNER_TOP_RIGHT].width,
box->corner[GSK_CORNER_TOP_RIGHT].height,
- G_PI_2, 0);
_cairo_ellipsis (cr,
- box->box.x + box->box.width - box->corner[GSK_CORNER_BOTTOM_RIGHT].width,
- box->box.y + box->box.height - box->corner[GSK_CORNER_BOTTOM_RIGHT].height,
+ box->bounds.origin.x + box->bounds.size.width - box->corner[GSK_CORNER_BOTTOM_RIGHT].width,
+ box->bounds.origin.y + box->bounds.size.height - box->corner[GSK_CORNER_BOTTOM_RIGHT].height,
box->corner[GSK_CORNER_BOTTOM_RIGHT].width,
box->corner[GSK_CORNER_BOTTOM_RIGHT].height,
0, G_PI_2);
_cairo_ellipsis (cr,
- box->box.x + box->corner[GSK_CORNER_BOTTOM_LEFT].width,
- box->box.y + box->box.height - box->corner[GSK_CORNER_BOTTOM_LEFT].height,
+ box->bounds.origin.x + box->corner[GSK_CORNER_BOTTOM_LEFT].width,
+ box->bounds.origin.y + box->bounds.size.height - box->corner[GSK_CORNER_BOTTOM_LEFT].height,
box->corner[GSK_CORNER_BOTTOM_LEFT].width,
box->corner[GSK_CORNER_BOTTOM_LEFT].height,
G_PI_2, G_PI);
after = (side + 1) % 4;
if (side & 1)
- length = box->box.height
+ length = box->bounds.size.height
- box->corner[before].height
- box->corner[after].height;
else
- length = box->box.width
+ length = box->bounds.size.width
- box->corner[before].width
- box->corner[after].width;
{
case GTK_CSS_TOP:
_cairo_ellipsis (cr,
- box->box.x + box->corner[GSK_CORNER_TOP_LEFT].width,
- box->box.y + box->corner[GSK_CORNER_TOP_LEFT].height,
+ box->bounds.origin.x + box->corner[GSK_CORNER_TOP_LEFT].width,
+ box->bounds.origin.y + box->corner[GSK_CORNER_TOP_LEFT].height,
box->corner[GSK_CORNER_TOP_LEFT].width,
box->corner[GSK_CORNER_TOP_LEFT].height,
5 * G_PI_4, 3 * G_PI_2);
_cairo_ellipsis (cr,
- box->box.x + box->box.width - box->corner[GSK_CORNER_TOP_RIGHT].width,
- box->box.y + box->corner[GSK_CORNER_TOP_RIGHT].height,
+ box->bounds.origin.x + box->bounds.size.width - box->corner[GSK_CORNER_TOP_RIGHT].width,
+ box->bounds.origin.y + box->corner[GSK_CORNER_TOP_RIGHT].height,
box->corner[GSK_CORNER_TOP_RIGHT].width,
box->corner[GSK_CORNER_TOP_RIGHT].height,
- G_PI_2, -G_PI_4);
break;
case GTK_CSS_RIGHT:
_cairo_ellipsis (cr,
- box->box.x + box->box.width - box->corner[GSK_CORNER_TOP_RIGHT].width,
- box->box.y + box->corner[GSK_CORNER_TOP_RIGHT].height,
+ box->bounds.origin.x + box->bounds.size.width - box->corner[GSK_CORNER_TOP_RIGHT].width,
+ box->bounds.origin.y + box->corner[GSK_CORNER_TOP_RIGHT].height,
box->corner[GSK_CORNER_TOP_RIGHT].width,
box->corner[GSK_CORNER_TOP_RIGHT].height,
- G_PI_4, 0);
_cairo_ellipsis (cr,
- box->box.x + box->box.width - box->corner[GSK_CORNER_BOTTOM_RIGHT].width,
- box->box.y + box->box.height - box->corner[GSK_CORNER_BOTTOM_RIGHT].height,
+ box->bounds.origin.x + box->bounds.size.width - box->corner[GSK_CORNER_BOTTOM_RIGHT].width,
+ box->bounds.origin.y + box->bounds.size.height - box->corner[GSK_CORNER_BOTTOM_RIGHT].height,
box->corner[GSK_CORNER_BOTTOM_RIGHT].width,
box->corner[GSK_CORNER_BOTTOM_RIGHT].height,
0, G_PI_4);
break;
case GTK_CSS_BOTTOM:
_cairo_ellipsis (cr,
- box->box.x + box->box.width - box->corner[GSK_CORNER_BOTTOM_RIGHT].width,
- box->box.y + box->box.height - box->corner[GSK_CORNER_BOTTOM_RIGHT].height,
+ box->bounds.origin.x + box->bounds.size.width - box->corner[GSK_CORNER_BOTTOM_RIGHT].width,
+ box->bounds.origin.y + box->bounds.size.height - box->corner[GSK_CORNER_BOTTOM_RIGHT].height,
box->corner[GSK_CORNER_BOTTOM_RIGHT].width,
box->corner[GSK_CORNER_BOTTOM_RIGHT].height,
G_PI_4, G_PI_2);
_cairo_ellipsis (cr,
- box->box.x + box->corner[GSK_CORNER_BOTTOM_LEFT].width,
- box->box.y + box->box.height - box->corner[GSK_CORNER_BOTTOM_LEFT].height,
+ box->bounds.origin.x + box->corner[GSK_CORNER_BOTTOM_LEFT].width,
+ box->bounds.origin.y + box->bounds.size.height - box->corner[GSK_CORNER_BOTTOM_LEFT].height,
box->corner[GSK_CORNER_BOTTOM_LEFT].width,
box->corner[GSK_CORNER_BOTTOM_LEFT].height,
G_PI_2, 3 * G_PI_4);
break;
case GTK_CSS_LEFT:
_cairo_ellipsis (cr,
- box->box.x + box->corner[GSK_CORNER_BOTTOM_LEFT].width,
- box->box.y + box->box.height - box->corner[GSK_CORNER_BOTTOM_LEFT].height,
+ box->bounds.origin.x + box->corner[GSK_CORNER_BOTTOM_LEFT].width,
+ box->bounds.origin.y + box->bounds.size.height - box->corner[GSK_CORNER_BOTTOM_LEFT].height,
box->corner[GSK_CORNER_BOTTOM_LEFT].width,
box->corner[GSK_CORNER_BOTTOM_LEFT].height,
3 * G_PI_4, G_PI);
_cairo_ellipsis (cr,
- box->box.x + box->corner[GSK_CORNER_TOP_LEFT].width,
- box->box.y + box->corner[GSK_CORNER_TOP_LEFT].height,
+ box->bounds.origin.x + box->corner[GSK_CORNER_TOP_LEFT].width,
+ box->bounds.origin.y + box->corner[GSK_CORNER_TOP_LEFT].height,
box->corner[GSK_CORNER_TOP_LEFT].width,
box->corner[GSK_CORNER_TOP_LEFT].height,
G_PI, 5 * G_PI_4);
{
double start_angle, middle_angle, end_angle;
- if (outer->box.y == inner->box.y)
+ if (outer->bounds.origin.y == inner->bounds.origin.y)
return;
- if (outer->box.x == inner->box.x)
+ if (outer->bounds.origin.x == inner->bounds.origin.x)
start_angle = G_PI;
else
start_angle = 5 * G_PI_4;
middle_angle = 3 * G_PI_2;
- if (outer->box.x + outer->box.width == inner->box.x + inner->box.width)
+ if (outer->bounds.origin.x + outer->bounds.size.width == inner->bounds.origin.x + inner->bounds.size.width)
end_angle = 0;
else
end_angle = 7 * G_PI_4;
cairo_new_sub_path (cr);
_cairo_ellipsis (cr,
- outer->box.x + outer->corner[GSK_CORNER_TOP_LEFT].width,
- outer->box.y + outer->corner[GSK_CORNER_TOP_LEFT].height,
+ outer->bounds.origin.x + outer->corner[GSK_CORNER_TOP_LEFT].width,
+ outer->bounds.origin.y + outer->corner[GSK_CORNER_TOP_LEFT].height,
outer->corner[GSK_CORNER_TOP_LEFT].width,
outer->corner[GSK_CORNER_TOP_LEFT].height,
start_angle, middle_angle);
_cairo_ellipsis (cr,
- outer->box.x + outer->box.width - outer->corner[GSK_CORNER_TOP_RIGHT].width,
- outer->box.y + outer->corner[GSK_CORNER_TOP_RIGHT].height,
+ outer->bounds.origin.x + outer->bounds.size.width - outer->corner[GSK_CORNER_TOP_RIGHT].width,
+ outer->bounds.origin.y + outer->corner[GSK_CORNER_TOP_RIGHT].height,
outer->corner[GSK_CORNER_TOP_RIGHT].width,
outer->corner[GSK_CORNER_TOP_RIGHT].height,
middle_angle, end_angle);
_cairo_ellipsis_negative (cr,
- inner->box.x + inner->box.width - inner->corner[GSK_CORNER_TOP_RIGHT].width,
- inner->box.y + inner->corner[GSK_CORNER_TOP_RIGHT].height,
+ inner->bounds.origin.x + inner->bounds.size.width - inner->corner[GSK_CORNER_TOP_RIGHT].width,
+ inner->bounds.origin.y + inner->corner[GSK_CORNER_TOP_RIGHT].height,
inner->corner[GSK_CORNER_TOP_RIGHT].width,
inner->corner[GSK_CORNER_TOP_RIGHT].height,
end_angle, middle_angle);
_cairo_ellipsis_negative (cr,
- inner->box.x + inner->corner[GSK_CORNER_TOP_LEFT].width,
- inner->box.y + inner->corner[GSK_CORNER_TOP_LEFT].height,
+ inner->bounds.origin.x + inner->corner[GSK_CORNER_TOP_LEFT].width,
+ inner->bounds.origin.y + inner->corner[GSK_CORNER_TOP_LEFT].height,
inner->corner[GSK_CORNER_TOP_LEFT].width,
inner->corner[GSK_CORNER_TOP_LEFT].height,
middle_angle, start_angle);
{
double start_angle, middle_angle, end_angle;
- if (outer->box.x + outer->box.width == inner->box.x + inner->box.width)
+ if (outer->bounds.origin.x + outer->bounds.size.width == inner->bounds.origin.x + inner->bounds.size.width)
return;
- if (outer->box.y == inner->box.y)
+ if (outer->bounds.origin.y == inner->bounds.origin.y)
start_angle = 3 * G_PI_2;
else
start_angle = 7 * G_PI_4;
middle_angle = 0;
- if (outer->box.y + outer->box.height == inner->box.y + inner->box.height)
+ if (outer->bounds.origin.y + outer->bounds.size.height == inner->bounds.origin.y + inner->bounds.size.height)
end_angle = G_PI_2;
else
end_angle = G_PI_4;
cairo_new_sub_path (cr);
_cairo_ellipsis (cr,
- outer->box.x + outer->box.width - outer->corner[GSK_CORNER_TOP_RIGHT].width,
- outer->box.y + outer->corner[GSK_CORNER_TOP_RIGHT].height,
+ outer->bounds.origin.x + outer->bounds.size.width - outer->corner[GSK_CORNER_TOP_RIGHT].width,
+ outer->bounds.origin.y + outer->corner[GSK_CORNER_TOP_RIGHT].height,
outer->corner[GSK_CORNER_TOP_RIGHT].width,
outer->corner[GSK_CORNER_TOP_RIGHT].height,
start_angle, middle_angle);
_cairo_ellipsis (cr,
- outer->box.x + outer->box.width - outer->corner[GSK_CORNER_BOTTOM_RIGHT].width,
- outer->box.y + outer->box.height - outer->corner[GSK_CORNER_BOTTOM_RIGHT].height,
+ outer->bounds.origin.x + outer->bounds.size.width - outer->corner[GSK_CORNER_BOTTOM_RIGHT].width,
+ outer->bounds.origin.y + outer->bounds.size.height - outer->corner[GSK_CORNER_BOTTOM_RIGHT].height,
outer->corner[GSK_CORNER_BOTTOM_RIGHT].width,
outer->corner[GSK_CORNER_BOTTOM_RIGHT].height,
middle_angle, end_angle);
_cairo_ellipsis_negative (cr,
- inner->box.x + inner->box.width - inner->corner[GSK_CORNER_BOTTOM_RIGHT].width,
- inner->box.y + inner->box.height - inner->corner[GSK_CORNER_BOTTOM_RIGHT].height,
+ inner->bounds.origin.x + inner->bounds.size.width - inner->corner[GSK_CORNER_BOTTOM_RIGHT].width,
+ inner->bounds.origin.y + inner->bounds.size.height - inner->corner[GSK_CORNER_BOTTOM_RIGHT].height,
inner->corner[GSK_CORNER_BOTTOM_RIGHT].width,
inner->corner[GSK_CORNER_BOTTOM_RIGHT].height,
end_angle, middle_angle);
_cairo_ellipsis_negative (cr,
- inner->box.x + inner->box.width - inner->corner[GSK_CORNER_TOP_RIGHT].width,
- inner->box.y + inner->corner[GSK_CORNER_TOP_RIGHT].height,
+ inner->bounds.origin.x + inner->bounds.size.width - inner->corner[GSK_CORNER_TOP_RIGHT].width,
+ inner->bounds.origin.y + inner->corner[GSK_CORNER_TOP_RIGHT].height,
inner->corner[GSK_CORNER_TOP_RIGHT].width,
inner->corner[GSK_CORNER_TOP_RIGHT].height,
middle_angle, start_angle);
{
double start_angle, middle_angle, end_angle;
- if (outer->box.y + outer->box.height == inner->box.y + inner->box.height)
+ if (outer->bounds.origin.y + outer->bounds.size.height == inner->bounds.origin.y + inner->bounds.size.height)
return;
- if (outer->box.x + outer->box.width == inner->box.x + inner->box.width)
+ if (outer->bounds.origin.x + outer->bounds.size.width == inner->bounds.origin.x + inner->bounds.size.width)
start_angle = 0;
else
start_angle = G_PI_4;
middle_angle = G_PI_2;
- if (outer->box.x == inner->box.x)
+ if (outer->bounds.origin.x == inner->bounds.origin.x)
end_angle = G_PI;
else
end_angle = 3 * G_PI_4;
cairo_new_sub_path (cr);
_cairo_ellipsis (cr,
- outer->box.x + outer->box.width - outer->corner[GSK_CORNER_BOTTOM_RIGHT].width,
- outer->box.y + outer->box.height - outer->corner[GSK_CORNER_BOTTOM_RIGHT].height,
+ outer->bounds.origin.x + outer->bounds.size.width - outer->corner[GSK_CORNER_BOTTOM_RIGHT].width,
+ outer->bounds.origin.y + outer->bounds.size.height - outer->corner[GSK_CORNER_BOTTOM_RIGHT].height,
outer->corner[GSK_CORNER_BOTTOM_RIGHT].width,
outer->corner[GSK_CORNER_BOTTOM_RIGHT].height,
start_angle, middle_angle);
_cairo_ellipsis (cr,
- outer->box.x + outer->corner[GSK_CORNER_BOTTOM_LEFT].width,
- outer->box.y + outer->box.height - outer->corner[GSK_CORNER_BOTTOM_LEFT].height,
+ outer->bounds.origin.x + outer->corner[GSK_CORNER_BOTTOM_LEFT].width,
+ outer->bounds.origin.y + outer->bounds.size.height - outer->corner[GSK_CORNER_BOTTOM_LEFT].height,
outer->corner[GSK_CORNER_BOTTOM_LEFT].width,
outer->corner[GSK_CORNER_BOTTOM_LEFT].height,
middle_angle, end_angle);
_cairo_ellipsis_negative (cr,
- inner->box.x + inner->corner[GSK_CORNER_BOTTOM_LEFT].width,
- inner->box.y + inner->box.height - inner->corner[GSK_CORNER_BOTTOM_LEFT].height,
+ inner->bounds.origin.x + inner->corner[GSK_CORNER_BOTTOM_LEFT].width,
+ inner->bounds.origin.y + inner->bounds.size.height - inner->corner[GSK_CORNER_BOTTOM_LEFT].height,
inner->corner[GSK_CORNER_BOTTOM_LEFT].width,
inner->corner[GSK_CORNER_BOTTOM_LEFT].height,
end_angle, middle_angle);
_cairo_ellipsis_negative (cr,
- inner->box.x + inner->box.width - inner->corner[GSK_CORNER_BOTTOM_RIGHT].width,
- inner->box.y + inner->box.height - inner->corner[GSK_CORNER_BOTTOM_RIGHT].height,
+ inner->bounds.origin.x + inner->bounds.size.width - inner->corner[GSK_CORNER_BOTTOM_RIGHT].width,
+ inner->bounds.origin.y + inner->bounds.size.height - inner->corner[GSK_CORNER_BOTTOM_RIGHT].height,
inner->corner[GSK_CORNER_BOTTOM_RIGHT].width,
inner->corner[GSK_CORNER_BOTTOM_RIGHT].height,
middle_angle, start_angle);
{
double start_angle, middle_angle, end_angle;
- if (outer->box.x == inner->box.x)
+ if (outer->bounds.origin.x == inner->bounds.origin.x)
return;
- if (outer->box.y + outer->box.height == inner->box.y + inner->box.height)
+ if (outer->bounds.origin.y + outer->bounds.size.height == inner->bounds.origin.y + inner->bounds.size.height)
start_angle = G_PI_2;
else
start_angle = 3 * G_PI_4;
middle_angle = G_PI;
- if (outer->box.y == inner->box.y)
+ if (outer->bounds.origin.y == inner->bounds.origin.y)
end_angle = 3 * G_PI_2;
else
end_angle = 5 * G_PI_4;
cairo_new_sub_path (cr);
_cairo_ellipsis (cr,
- outer->box.x + outer->corner[GSK_CORNER_BOTTOM_LEFT].width,
- outer->box.y + outer->box.height - outer->corner[GSK_CORNER_BOTTOM_LEFT].height,
+ outer->bounds.origin.x + outer->corner[GSK_CORNER_BOTTOM_LEFT].width,
+ outer->bounds.origin.y + outer->bounds.size.height - outer->corner[GSK_CORNER_BOTTOM_LEFT].height,
outer->corner[GSK_CORNER_BOTTOM_LEFT].width,
outer->corner[GSK_CORNER_BOTTOM_LEFT].height,
start_angle, middle_angle);
_cairo_ellipsis (cr,
- outer->box.x + outer->corner[GSK_CORNER_TOP_LEFT].width,
- outer->box.y + outer->corner[GSK_CORNER_TOP_LEFT].height,
+ outer->bounds.origin.x + outer->corner[GSK_CORNER_TOP_LEFT].width,
+ outer->bounds.origin.y + outer->corner[GSK_CORNER_TOP_LEFT].height,
outer->corner[GSK_CORNER_TOP_LEFT].width,
outer->corner[GSK_CORNER_TOP_LEFT].height,
middle_angle, end_angle);
_cairo_ellipsis_negative (cr,
- inner->box.x + inner->corner[GSK_CORNER_TOP_LEFT].width,
- inner->box.y + inner->corner[GSK_CORNER_TOP_LEFT].height,
+ inner->bounds.origin.x + inner->corner[GSK_CORNER_TOP_LEFT].width,
+ inner->bounds.origin.y + inner->corner[GSK_CORNER_TOP_LEFT].height,
inner->corner[GSK_CORNER_TOP_LEFT].width,
inner->corner[GSK_CORNER_TOP_LEFT].height,
end_angle, middle_angle);
_cairo_ellipsis_negative (cr,
- inner->box.x + inner->corner[GSK_CORNER_BOTTOM_LEFT].width,
- inner->box.y + inner->box.height - inner->corner[GSK_CORNER_BOTTOM_LEFT].height,
+ inner->bounds.origin.x + inner->corner[GSK_CORNER_BOTTOM_LEFT].width,
+ inner->bounds.origin.y + inner->bounds.size.height - inner->corner[GSK_CORNER_BOTTOM_LEFT].height,
inner->corner[GSK_CORNER_BOTTOM_LEFT].width,
inner->corner[GSK_CORNER_BOTTOM_LEFT].height,
middle_angle, start_angle);
cairo_t *cr)
{
cairo_rectangle (cr,
- box->box.x, box->box.y,
- box->box.width, box->box.height);
+ box->bounds.origin.x, box->bounds.origin.y,
+ box->bounds.size.width, box->bounds.size.height);
}
gboolean
gdouble x2,
gdouble y2)
{
- if (x2 < box->box.x ||
- y2 < box->box.y ||
- x1 >= box->box.x + box->box.width ||
- y1 >= box->box.y + box->box.height)
+ if (x2 < box->bounds.origin.x ||
+ y2 < box->bounds.origin.y ||
+ x1 >= box->bounds.origin.x + box->bounds.size.width ||
+ y1 >= box->bounds.origin.y + box->bounds.size.height)
return FALSE;
return TRUE;
gdouble x2,
gdouble y2)
{
- if (x1 < box->box.x ||
- y1 < box->box.y ||
- x2 > box->box.x + box->box.width ||
- y2 > box->box.y + box->box.height)
+ if (x1 < box->bounds.origin.x ||
+ y1 < box->bounds.origin.y ||
+ x2 > box->bounds.origin.x + box->bounds.size.width ||
+ y2 > box->bounds.origin.y + box->bounds.size.height)
return FALSE;
- if (x1 < box->box.x + box->corner[GSK_CORNER_TOP_LEFT].width &&
- y1 < box->box.y + box->corner[GSK_CORNER_TOP_LEFT].height)
+ if (x1 < box->bounds.origin.x + box->corner[GSK_CORNER_TOP_LEFT].width &&
+ y1 < box->bounds.origin.y + box->corner[GSK_CORNER_TOP_LEFT].height)
return FALSE;
- if (x2 > box->box.x + box->box.width - box->corner[GSK_CORNER_TOP_RIGHT].width &&
- y1 < box->box.y + box->corner[GSK_CORNER_TOP_RIGHT].height)
+ if (x2 > box->bounds.origin.x + box->bounds.size.width - box->corner[GSK_CORNER_TOP_RIGHT].width &&
+ y1 < box->bounds.origin.y + box->corner[GSK_CORNER_TOP_RIGHT].height)
return FALSE;
- if (x2 > box->box.x + box->box.width - box->corner[GSK_CORNER_BOTTOM_RIGHT].width &&
- y2 > box->box.y + box->box.height - box->corner[GSK_CORNER_BOTTOM_RIGHT].height)
+ if (x2 > box->bounds.origin.x + box->bounds.size.width - box->corner[GSK_CORNER_BOTTOM_RIGHT].width &&
+ y2 > box->bounds.origin.y + box->bounds.size.height - box->corner[GSK_CORNER_BOTTOM_RIGHT].height)
return FALSE;
- if (x1 < box->box.x + box->corner[GSK_CORNER_BOTTOM_LEFT].width &&
- y2 > box->box.y + box->box.height - box->corner[GSK_CORNER_BOTTOM_LEFT].height)
+ if (x1 < box->bounds.origin.x + box->corner[GSK_CORNER_BOTTOM_LEFT].width &&
+ y2 > box->bounds.origin.y + box->bounds.size.height - box->corner[GSK_CORNER_BOTTOM_LEFT].height)
return FALSE;
return TRUE;